package com.platform.admin.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;

import java.util.Objects;

/**
 * @author: yuanlai
 * @Description: 异常处理方式枚举
 * 处理结果 0.线下处理,1.恢复生产,2.强制完成,3.已外发,4.跳过此工序 【针对普通停止生产的和继续生产的异常】
 * PDA系统生成的异常：
 * 剩余：
 * 5.送客户，6.打包入库，7.直接扔掉，
 * 缺少：
 * 8.补优惠券，9.退差价，10.补印，11.无需处理
 * <p>
 * 选择线下处理的话这个异常还是未完结状态，选择其他的话这个异常就是完结状态
 * @date : 2022/12/7 14:43
 */
@Getter
@AllArgsConstructor
public enum ExHandleResultEnum {
    OFFLINE(0, "线下处理"),
    RESUME(1, "恢复生产"),
    FORCE_FINISH(2, "强制完成"),
    OUTING(3, "已外发"),
    SKIP(4, "跳过此工序"),
    TO_CUSTOMER(5, "送客户"),
    PACK_WAREHOUSE(6, "打包入库"),
    THROW_AWAY(7, "直接扔掉"),
    COUPON(8, "补优惠券"),
    REFUND_DIFF(9, "退差价"),
    REPRINT(10, "补印"),
    NO_NEED(11, "无需处理"),
    GUSER_HANDLE(12, "跟单员处理");

    private int type;
    private String desc;

    public static ExHandleResultEnum getEnumByCode(Integer type) {
        for (ExHandleResultEnum resultEnum : values()) {
            if (Objects.equals(type, resultEnum.getType())) {
                return resultEnum;
            }
        }
        return null;
    }

    public static String getDescByCode(Integer type) {
        for (ExHandleResultEnum resultEnum : values()) {
            if (Objects.equals(type, resultEnum.getType())) {
                return resultEnum.getDesc();
            }
        }
        return "";
    }
}
